home *** CD-ROM | disk | FTP | other *** search
- //-----------------------------------------------------------------------------
- // Torque Game Engine
- // Copyright (C) GarageGames.com, Inc.
- //-----------------------------------------------------------------------------
-
- //-----------------------------------------------------------------------------
- // PageGui is the main TSControl through which the game is viewed.
- // The PageGui also contains the hud controls.
- //-----------------------------------------------------------------------------
-
- function PageGui::onWake(%this)
- {
- %this.pageNumber = 0;
- }
-
- function PageGui::onSleep(%this)
- {
- }
-
- function PageGui::pageName(%this, %index)
- {
- if (%index $= "")
- {
- %index = %this.pageNumber;
- echo ("PAGE: " @ %this.pageNumber);
- }
- return %this.thread @ "_page" @ %index;
- }
-
- function PageGui::isNextPage(%this)
- {
- for (%num = %this.pageNumber + 1; !isObject(%this.pageName(%num)); %num += 1)
- if (%num > 100)
- return false;
- return true;
- }
-
- function PageGui::isPrevPage(%this)
- {
- for (%num = %this.pageNumber - 1; !isObject(%this.pageName(%num)); %num -= 1)
- if (%num < 0)
- return false;
- return true;
- }
-
- function PageGui::pushThread(%this, %thread)
- {
- if (%this.thread !$= "" )
- %this.threadStack = %this.thread @ " " @ %this.pageNUmber @ " " @ %this.threadStack;
- %this.popPage();
- %this.thread = %thread;
- %this.pushPage(1);
- %this.status();
- }
-
- function PageGui::popThread(%this)
- {
- if (%this.threadStack !$= "" )
- {
- %this.popPage();
- %this.thread = firstWord(%this.threadStack);
- %this.threadStack = removeWord(%this.threadStack, 0);
-
- %this.pageNumber = firstWord(%this.threadStack);
- %this.threadStack = removeWord(%this.threadStack, 0);
- }
- else
- %this.thread = "";
- %this.status();
- }
-
- function PageGui::status(%this)
- {
- echo ("----------------------");
- echo ("THREADSTACK: " @ %this.threadStack);
- echo ("THREAD: " @ %this.thread);
- echo ("PAGE: " @ %this.pageNumber);
- }
-
- function PageGui::popPage(%this)
- {
- echo ("POP: " @ %this.pageName());
- if (%this.pageNumber > 0)
- Canvas.popDialog(%this.pageName());
- }
-
- function PageGui::pushPage(%this, %pageNumber)
- {
- // Load up the new page
- %this.pageNumber = %pageNumber;
- %page = %this.pageName();
- Canvas.pushDialog(%page);
-
- // Update the arrows to reflect next/prev page availabilty
- PageGuiNextPage.setVisible(%this.isNextPage());
- //PageGuiPrevPage.setVisible(%this.isPrevPage());
-
- // Extract demo text from page object
- PageGuiTitle.setText(
- "<font:Arial Bold:32><color:ffffff><just:right>" @
- %page.title);
- %this.status();
- }
-
- function PageGui::setPageNumber(%this,%pageNumber)
- {
- // Pop off any current page...
- %this.popPage();
-
- // Load up the new page
- %this.pushPage(%pageNumber);
- }
-
- function PageGui::nextPage(%this)
- {
- if (%this.isNextPage())
- %this.setPageNumber(%this.pageNumber + 1);
- }
-
- function PageGui::prevPage(%this)
- {
- if (%this.isPrevPage())
- %this.setPageNumber(%this.pageNumber - 1);
- else
- {
- %this.popThread();
- if (%this.thread !$= "")
- %this.pushPage(%this.pageNumber);
- else
- Canvas.setContent(mainMenuGui);
- }
- }
-
-
-